package com.source.barcodeMachineGrantAndRecovery.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * <p>
 * 
 * </p>
 *
 * @author Feng
 * @since 2021-02-24
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("脚标机发放记录")
public class BarcodeMachineGrant implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "grantId", type = IdType.ASSIGN_UUID)
    private String grantId;

    @ApiModelProperty(value = "押金")
    private Double deposit;

    @ApiModelProperty(value = "协议编号")
    @TableField("agreementNumber")
    private String agreementNumber;

    @ApiModelProperty(value = "脚标机编号")
    @TableField("barcodeMachineNumber")
    private String barcodeMachineNumber;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "createDate", fill = FieldFill.INSERT)
    private Date createDate;

    @ApiModelProperty(value = "发放时间")
    @TableField("grantDate")
    private Date grantDate;

    @ApiModelProperty(value = "发放人id")
    @TableField("grantPersonId")
    private String grantPersonId;

    @ApiModelProperty(value = "领取人id")
    @TableField("receivePersonId")
    private String receivePersonId;

    @ApiModelProperty(value = "档口id")
    @TableField("stallsId")
    private Integer stallsId;

    @ApiModelProperty(value = "租金")
    private Integer rent;

    @ApiModelProperty(value = "脚标机有效期")
    @TableField("expiringDate")
    private Date expiringDate;

    @ApiModelProperty(value = "协议具体内容")
    @TableField("protocol")
    private String protocol;

    @ApiModelProperty(value = "逻辑删除")
    @TableField("isDelete")
    @TableLogic
    private Boolean isDelete;

    @ApiModelProperty(value = "脚标机状态（0：正常、1：维修、2：报废）")
    private Integer status;

    @ApiModelProperty(value = "（获取方式）0：租的、1：买的")
    @TableField("isHired")
    private Integer isHired;

    @ApiModelProperty(value = "0：替补、1：非替补")
    private Integer isAlternate;
}
